package com.cg.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

@Mapper
public interface JobMapper {
    List<Map<String,Object>> getKeywords();

    // PageHelper 分页只需提供查询SQL，分页条件由拦截器追加
    List<Map<String,Object>> pageQuery(@Param("city") String city,
                                       @Param("expectMinSalary") Integer expectMinSalary);

    // 其它表：与 crawler_py_java 结构一致
    List<Map<String,Object>> pageQueryBack(@Param("city") String city,
                                           @Param("expectMinSalary") Integer expectMinSalary);

    List<Map<String,Object>> pageQueryC(@Param("city") String city,
                                        @Param("expectMinSalary") Integer expectMinSalary);

    List<Map<String,Object>> pageQueryFront(@Param("city") String city,
                                            @Param("expectMinSalary") Integer expectMinSalary);

    List<Map<String,Object>> pageQueryGo(@Param("city") String city,
                                         @Param("expectMinSalary") Integer expectMinSalary);

    List<Map<String,Object>> pageQueryJavascript(@Param("city") String city,
                                                 @Param("expectMinSalary") Integer expectMinSalary);

    List<Map<String,Object>> pageQueryNodejs(@Param("city") String city,
                                             @Param("expectMinSalary") Integer expectMinSalary);

    List<Map<String,Object>> pageQueryOperations(@Param("city") String city,
                                                 @Param("expectMinSalary") Integer expectMinSalary);

    List<Map<String,Object>> pageQueryPython(@Param("city") String city,
                                             @Param("expectMinSalary") Integer expectMinSalary);

    List<Map<String,Object>> pageQueryTest(@Param("city") String city,
                                           @Param("expectMinSalary") Integer expectMinSalary);

    List<Map<String,Object>> pageQueryWeb(@Param("city") String city,
                                          @Param("expectMinSalary") Integer expectMinSalary);

    // 聚合多表
    List<Map<String,Object>> pageQueryAll(@Param("city") String city,
                                          @Param("expectMinSalary") Integer expectMinSalary);

    List<Map<String,Object>> getCitySalaryDistribution(@Param("city") String city);

    List<Map<String,Object>> getProductManagerTopSkills();
}


